-
Notifications
You must be signed in to change notification settings - Fork 188
[ENH] Additional age related columns for participants.tsv file to cover animal data #1839
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
What would be the best way to indicate that these fields are recommended for non-humans, but not recommended for humans? |
Besides birthday I think we can entirely avoid species-specificity here, but I liked phrasing to refer to units section on anonymization. I was looking at the stages and if someone annotates that it is late adult stage - it might help finding subjects of such interest. It is more of a question to me of duplicity of metadata, thus possibly leading to incongruities. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
slight tune ups
src/schema/objects/columns.yaml
Outdated
name: age_type | ||
display_name: Age type | ||
description: | | ||
Type of age measurement (e.g. `postnatal`, `fetal`, `gestational`). If not specified, `postnatal` is assumed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there some ontology or controlled vocab to reference here as well by any chance?
@lzehl says "No!"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@satra suggested this ontology https://bioportal.bioontology.org/ontologies/FMA/?p=classes&conceptid=http://purl.org/sig/ont/fma/fma312872 (in #1634) however this looks not like a species independent definition (definitions are also very sparse in this ontology)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if age_reference
, some time points to consider:
- fertilization
- birth
- gestation
- ...
it seems we are boiling down to establishing a list of Enums with clear definitions and possibly adding TermURLs for some of them where there is a clear association.
TODO also to formalize such "TermURL" like linking at the level of schema which seems to lack it ATM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fertilization
UBERON: http://purl.obolibrary.org/obo/GO_0009566
Definition: "The union of gametes of opposite sexes during the process of sexual reproduction to form a zygote. It involves the fusion of the gametic nuclei (karyogamy) and cytoplasm (plasmogamy)."
OR
We suggest a new UBERON term for the life cycle temporal boundaries:
start of embryo stage
UBERON: REQUEST TO ADD
Adapted definition for the usage here: "A life cycle temporal boundary that marks the start of the embryo stage of the organism."
start of neonate stage (synonym: birth)
UBERON: http://purl.obolibrary.org/obo/UBERON_0035946
Definition: "A life cycle temporal boundary that marks the start of the neonate stage of the organism."
Gestation is not covered in UBERON, but we can maybe request to add these terms:
gestational stage (life cycle stage)
UBERON: REQUEST TO ADD
Definition: "A life cycle stage that starts with the first day of the mother's last menstrual period and ends with birth."
start of gestational stage (life cycle boundary)
UBERON: REQUEST TO ADD
Definition: "A life cycle temporal boundary that marks the start of the gestational stage of the organism."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if
age_reference
, some time points to consider:* fertilization * birth * gestation * ...
it seems we are boiling down to establishing a list of Enums with clear definitions and possibly adding TermURLs for some of them where there is a clear association.
TODO also to formalize such "TermURL" like linking at the level of schema which seems to lack it ATM.
Currently the 'TermURL' is a link in the description of the enums, so I am adding it to the overall PR TODO for discussion in the next BEP meeting or otherwise.
Co-authored-by: Yaroslav Halchenko <[email protected]>
Co-authored-by: Yaroslav Halchenko <[email protected]>
@bendichter @yarikoptic I agree that only birth_date causes issues with humans due to GDPR. This list is derived from the UBERON ontology where possible with small additions were needed. Note that openMINDS did not yet integrate all UBERON life cycle stages: age_type in addition to define the reference point of the age value is a good idea. I'm not sure if the ontology https://bioportal.bioontology.org/ontologies/FMA/?p=classes&conceptid=http://purl.org/sig/ont/fma/fma312872 suggested by @satra in #1634 is species independent defined (definitions are also very sparse in this ontology). |
@lzehl @yarikoptic @bids-standard/bep032 As discussed in our last meeting, one of my TODOs was to add enums for |
@ree-gupta https://openminds-documentation.readthedocs.io/en/latest/instance_libraries/terminologies/ageCategory.html for looking up the ones we use in openMINDS (sometimes we refined definitions compared to the ontology). We focused on the UBERON ontology for life cycle stage. Note that gestational stage is missing from this ontology (we could request to add it). For life cycle temporal boundaries we can refer to some of UBERON, but we will have to contribute to complete this (or just define them ourselves as terminology). These terms should potentially be grouped under age_reference or age_temporal_boundary. This group would include for example: start of neonate stage (synonym: birth), start of embryo stage (synonym: fertilization), start of gestational stage, end of life cycle (synonym: death), etc. |
src/schema/objects/columns.yaml
Outdated
name: age_type | ||
display_name: Age type | ||
description: | | ||
Type of age measurement (e.g. `postnatal`, `fetal`, `gestational`). If not specified, `postnatal` is assumed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@satra suggested this ontology https://bioportal.bioontology.org/ontologies/FMA/?p=classes&conceptid=http://purl.org/sig/ont/fma/fma312872 (in #1634) however this looks not like a species independent definition (definitions are also very sparse in this ontology)
src/schema/objects/columns.yaml
Outdated
name: age_type | ||
display_name: Age type | ||
description: | | ||
Type of age measurement (e.g. `postnatal`, `fetal`, `gestational`). If not specified, `postnatal` is assumed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fertilization
UBERON: http://purl.obolibrary.org/obo/GO_0009566
Definition: "The union of gametes of opposite sexes during the process of sexual reproduction to form a zygote. It involves the fusion of the gametic nuclei (karyogamy) and cytoplasm (plasmogamy)."
OR
We suggest a new UBERON term for the life cycle temporal boundaries:
start of embryo stage
UBERON: REQUEST TO ADD
Adapted definition for the usage here: "A life cycle temporal boundary that marks the start of the embryo stage of the organism."
start of neonate stage (synonym: birth)
UBERON: http://purl.obolibrary.org/obo/UBERON_0035946
Definition: "A life cycle temporal boundary that marks the start of the neonate stage of the organism."
Gestation is not covered in UBERON, but we can maybe request to add these terms:
gestational stage (life cycle stage)
UBERON: REQUEST TO ADD
Definition: "A life cycle stage that starts with the first day of the mother's last menstrual period and ends with birth."
start of gestational stage (life cycle boundary)
UBERON: REQUEST TO ADD
Definition: "A life cycle temporal boundary that marks the start of the gestational stage of the organism."
Co-authored-by: Ben Dichter <[email protected]>
If {
"age": {"Units": "years", "Reference": "birth"}
} We can add a check in AgeReferenceEnumeration:
issue:
...
selectors:
- columns.age
- type(sidecar.age.Reference) != 'null'
checks:
- intersects([sidecar.age.Reference], ['birth', 'gestational', 'fertilization']) Edit:
bids-specification/src/common-principles.md Lines 541 to 554 in 8e175f4
|
Summary of conversation with @effigies bids-specification/src/schema/objects/columns.yaml Lines 35 to 47 in 8e175f4
While this section of the schema specifies that age is in years, this is just default behavior. The description and units are overridden by entries in the participants.json file. If the validator does not respect this then it's a bug in the validator. The field that says "definition" is intended to be default (even though the name might suggest that it is not adjustable). @effigies also recommended that we add "Reference" as a field of "age" in the participants.json file. We can use custom check logic to constrain the value to birth, gestational, or fertilization. We just need to add Reference as a field in bids-specification/src/common-principles.md |
participants: | ||
selectors: | ||
- path == "/participants.json" | ||
- '"age" in columns' | ||
fields: | ||
AgeReference: recommended |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this fit with #1839 (comment) ?
If yes this should also recommend age unit not only the age reference
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if this is also the place for defining schema.rules.checks.something
suggestion from #1839 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can also do the changes but I wanted to have a record of the open TODOs based on the latest decision. Final TODO: update bids-specification/src/common-principles.md according to #1839 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
birth, fertilization and gestation deleted from the enums
STATUS/TODOS:
|
for more information, see https://pre-commit.ci
The PR adds columns for
age_category
,age_type
,birthdate
as discussed and suggested by @yarikoptic in #1826This is open for discussion.
Related issues:
@bids-standard/bep032
TODO:
AgeReference
must be used in sidecar JSONAgeReference
rule in schema forparticipant.tsv
age
column definition that would specify that one must useAgeReference
in sidecar?birthdate
orage
must be specified